;:sys36864
	;.opt p
	*= 679	;startadresse   sys 679
; ----------------------------
; power-poke 64       (c) 6.92
; nikolaus heusler
; XXXXXXXXXXXX  XX
; XXXX XXXXXXXX XX
; nach einer idee
; von barry l. camp, 4.88
; ----------------------------
;
; syntax - poke adr,w1,w2,w3,w4,...
; bei wn > 255 wird im format
; high/lowbyte in zwei aufeinander-
; folgende speicherzellen gepoket
;
; **** wedge (neuen befehl einbinden)
	lda #<act
	ldy #>act	;zeiger auf neue routine
	sta 776
	sty 777	;vektor umstellen
	jmp 43806	;herz ausgeben
; **** neue execute-routine
; diese routine wird immer ausgefuehrt,
; wenn ein basic-befehl interpretiert
; werden soll
act	jsr 115	;naechstes zeichen holen
	cmp #151	;code fuer poke
	beq poke	;ja
	jsr 121	;flags korrigieren
fertig	jmp 42983	;normalen basicbefehl ausfuehren
; **** neuer poke-befehl
poke	jsr 115	;zeichen nach 'poke' holen
	jsr $ad8a	;num. ausdruck auswerten
	jsr $b7f7	;in adressformat wandeln
	lda $14
	sta 181	;adr. lowbyte
	lda $15
	sta 182	;adr. highbyte
; **** parameterschleife
komma	jsr $aefd	;komma pruefen
	jsr $ad8a	;num. ausdruck auswerten
	jsr $b7f7	;und wandeln
	lda $15	;highbyte
	tay
	beq single	;null, nur eine adresse
	ldy #1
	sta (181),y	;highbyte speichern
	dey
single	lda $14
	sta (181),y	;lowbyte speichern
	jsr 121	;noch ein zeichen
	beq fertig	;nein, fertig
	lda $15
	beq eins
	lda #1
eins	sec	;adresszaehler um
	adc 181	;1 bzw. 2
	sta 181	;hochzaehlen
	bcc komma
	inc 182	;highbyte
	jmp komma	;und weiter
